class Solution {
public:
    int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {
        vector<int> v;
        int n=gas.size();
        for(int i=0;i<n;i++)
        {
            v.push_back(gas[i]-cost[i]);
        }
        //n个数连续非负和
        for(int i=0;i<n;i++)
        {
            int right=i;
            int sum=v[right];
            if(sum<0) continue;
            int num=0;
            while(sum>=0)
            {
                num++;
                if(num==n)
                {
                    return i;
                }
                right++;
                right%=n;
                sum+=v[right];
            }
            i+=num-1;//加上for循环的++，直接到先前到不了的那个地方开始
        
        }
        return -1;

    }
};